perm filename CODE4.FAI[NEW,LCS]12 blob sn#573329 filedate 1981-03-15 generic text, type T, neo UTF8
00100			TITLE ITMSUB
00200		INTERNAL ITMSUB
00300		EXTERNAL BM,NOZERO,LINX,ROFF,CENTX,STF,LINES,.COMM.
00400		EXTERNAL DAT,RHORZ,CLEFS,PLTR,MIN,POSI,ALF,RDRAW,OLDTOP
00500		DEFINE R9 <.COMM.+=10 >↔ DEFINE R8<.COMM.+=9 >
00600		DEFINE J2 <.COMM.+3 >↔	DEFINE J10 <.COMM.+=31 >
00700		DEFINE J7 <.COMM.+=28 >
00800	;;OLDTOP:	0
00900	;	00300	      SUBROUTINE ITMSUB
01000	;	00400	      IMPLICIT INTEGER(A-Q,S-Z)
01100	;	00500	      REAL DIS,DISX,HGT,POS,CENTR,STFF,HGT1,XDIS
01200	;	00600	      COMMON/STF/RSTFAC(0/7),RSTJ2/MIN/MINI,RMINI
01300	;	00700	      COMMON R2,JA,CENTR,J2,RJQ(20),JQ(16),RE,RF,RG,RH/BM/RA,RC,RJY
01400	;	00800	      COMMON/POSI/STFF(0/7),JJ2,POS/PLTR/PLT,RHT,DIS,XDIS
01500	;	00900	      COMMON/ALF/QQ(3),RST7,RST18,R3Q,JY,RD,RX,RW,RJX,RJ,L,K,
01600	;	01000	     1 RJA,YY,DISX,HGT,RZ,INP(53)
01700	;	01100	      COMMON/DAT/RACNT(65),RDOT(17),XAC(7),RNOTE(22),RACCI(22),NACCI(3)
01800	;	01200	      EQUIVALENCE (J3,JQ(1)),(J4,JQ(2)),(J5,JQ(3)),(R5,RJQ(3)),(R11,
01900	;	01300	     1RJQ(9)),(R6,RJQ(4)),(J7,JQ(5)),(J8,JQ(6)),(J9,JQ(7)),(J10,JQ(8))
02000	;	01400	     1,(J11,JQ(9)),(J6,JQ(4)),(R9,RJQ(7)),(R8,RJQ(6)),(R3,RJQ(1))
02100	;	01500	     1 ,(R7,RJQ(5)),(R4,RJQ(2)),(R9,RJQ(7)),(R10,RJQ(8)),(RX3,RJQ(20))
02200	;	01600	      DATA R14/14.54/,RTF/3.0/,RHGT/48.0/,R2HGT/96.0/,RBM/.83/
02300	;	01700	     1,RDBR/ 3.5/,RBR/.33/,RBX/ 7.0/
02400	ITMSUB:	0	;01800	C  RDBR IS SPACER FOR DBL BAR.
02500	      	MOVSI 	3,203700	;	02000	      RST7=RSTJ2*7.
02600	      	FMPR  	3,STF+=8 
02700	      	MOVEM 	3,ALF+3     ;	02100	      RST18=RSTJ2*18.
02800	      	MOVSI 	02,205440
02900		FMPR 2,STF+=8
03000	      	MOVEM 	02,ALF+4 ;2200	C  TO COMPENSATE FOR NOTE #3 COMING AT POS=0
03100	      	MOVE  	02,.COMM.+4    ;02400	      R3Q=R3
03200	     	MOVEM 	02,ALF+5         ;	C   NEXT DRAWS STRAIGHT LINES
03300	      	FMPR  	3,.COMM.+5    ;	02700	      RD=R4*RST7
03400	      	MOVEM 	3,ALF+7     ;	02800	      RA=0
03500	      	SETZM 	BM    	    ;	02900	      RX=RTF*RSTJ2+POS
03600	      	MOVE  	02,[3.0]   
03700	      	FMPR  	02,STF+=8 
03800	      	FADR  	02,POSI+=9   
03900	      	MOVEM 	02,ALF+=8    ; XDIS=1./DIS >  TO REPLACE ALL 1./DIS'S
04000	;				03010	      J10=J10*DIS*RSTJ2
04100		FLTR 4,J10       		;MOVE 4,.COMM.+=31
04200		FMPR 4,PLTR+2
04300		FMPR 4,STF+=8
04400		KIFIX 0,4		;JSA 16,IFIX
04500	      	MOVEM 	0,J10   
04600	; THICKNESS DEPENDS ON FINAL SIZE FACTOR (DIS) AND STAFF SIZE.(???!!)
04700	;;; 	MOVEI 	02,62 ;		03100	      IF(J5.EQ.50)GO TO 300
04800	;;; 	CAMN  	02,.COMM.+=26    
04900		MOVE	2,.COMM.+=26		;IF(J5.EQ.50.OR.J5.EQ.150)GO TO 300
05000		CAIE	2,=50	
05100		CAIN	2,=150  	;150 IS FOR 'PARTS' FEATURE - PUTS CRESC. IN ALL.
05200		JRST I300
05300		SKIPN .COMM.+7  ;03300	      IF(R6.NE.0)GO TO 401
05400		SKIPE .COMM.+=28
05500		JRST I401         ;   IF(J7.NE.0)GO TO 401
05600	;				03500	C  FOR BAR LINES
05700		MOVEI 	02,54   ;	03600	4000  JA=44
05800	      	MOVEM 	02,.COMM.+1 ;CODE # IS CHNGD SO BAR LINES WON'T AFFECT MAX. HGT.
05900	;         ↑↑↑↑↑↑↑↑↑ FOR VERTICAL WIGGLE (P6=0, P7=-1)
06000	      	SETZM 	DBR#   ;	03900	      DBR=0
06100		MOVE 2,.COMM.+=25	;04000	      IF(J4.LT.1000)GO TO 400
06200	      	CAIGE 2,1750    
06300	      	JRST  	I400  
06400	;  J4=1001 = DBL BAR,  =1401 = DBL BAR WITH RT. ONE HEAVY: J5=1=DOTS ADDED
06500	;				04500	      DBR=J4/1000
06600	      	IDIVI 	02,1750
06700		SKIPN .COMM.+=26	;IF(J5.NE.0)GO TO RPTBAR
06800		CAIG 2,1	;IF(DBR.LT.2)GO TO RPTBAR
06900		JRST RPTBAR
07000		AOS .COMM.+=26	;J5=1
07100		CAIN 2,4	;IF(DBR.EQ.4)DBR=1
07200		MOVEI 2,1
07300		MOVEM 2,DBR	;FOR REPEAT DBL.BAR WITH P5=0
07400	RPTBAR:	MOVEM 	02,DBR   ;P4=2000=DOTS ON RIGHT, =3000=BOTH SIDES
07500				;=4000=DOTS ON LEFT
07600	
07700	
07800		MOVEM 3,.COMM.+=25       ;	04600	      J4=J4-DBR*1000
07900	;				04700	C DBR=1 HEAVY BAR IS ON R
08000	;				04800	9400  RD=RDBR+RDBR*RSTJ2
08100	I9400:	MOVE  	1,[3.5]  
08200	      	FMPR  	1,STF+=8 
08300	      	FADR  	1,[3.5]  
08400	      	MOVEM 	1,ALF+7         ;  TO SPACE THIN BAR FROM HEAVY
08500	      	MOVE  	02,.COMM.+=26    ;05000	      IF(J5.EQ.0)GO TO 400
08600		JUMPE 2,I400      ;	05100	C  NEXT ADDS REPEAT DOTS TO DBL BAR.
08700	      	MOVE  	3,.COMM.+=25    ;05200	      L=J4
08800	      	MOVEM 	3,ALF+=12     ;	05300	      RJ=L/100
08900	      	IDIVI 	3,144
09000		FLTR 3,3		;TLC 3,232000
09100				;	FADR 3,3	IF(RJ.EQ.0)RJ=6.*RSTJ2
09200	      	JUMPN 	3,.+3    
09300	      	MOVSI 	3,203600
09400	      	FMPR  	3,STF+=8 
09500	      	MOVEM 	3,ALF+=11        ; HEAVY BAR WILL BE 5 LINES WIDE.
09600	      	MOVE  	.COMM.+4    ;	05600	      RZ=R3
09700	      	MOVEM  ALF+=18    ;	05700	      J4=0
09800	      	SETZM 	.COMM.+=25      ;  MUST BE 0 FOR DOTS IN 'NOTWRT'
09900	      	SKIPE 2,DBR	   	; J5 IS IN 2 YET!
10000		JRST .+4	     ;	05900	      IF(DBR.EQ.0)DBR=J5
10100		CAIL 2,4	;IF(J5.GT.3)J5=3   -- CATCHES TYPOS!
10200		MOVEI 2,3
10300	      	MOVEM 	02,DBR   	;IF(DBR.EQ.0)=J5
10400	;				06000	      J5=0
10500	      	SETZM .COMM.+=26        ; J5=1 RPT ↑, =2 RPT ↑, =3 RPT ↑
10600	      	FSC   	1,1		;06200	      RJA=RD*2.
10700	      	MOVEM 	1,ALF+=14   
10800	;6300 TO SPACE DOTS, NOT ACCURATE FOR VERY SMALL OR VERY LARGE SIZE FACTORS
10900		MOVEM 2,ALF+6    ;	06400	      JY=DBR
11000		CAIGE 2,2     ;		06500	      IF(DBR.LT.2)GO TO 8400
11100	      	JRST  	I8400 
11200	      	FADR  	3,ALF+=18    ;	06600	      R3=RJA+RJ+RZ
11300	      	FADR  	3,ALF+=14   
11400	      	MOVEM 	3,.COMM.+4    
11500	I7400:	MOVE 11,ALF+=12     ;  06700	7400  DO 3400 K=J2,MOD(L,100)+J2-1
11600		IDIVI 11,=100
11700		ADD 12,.COMM.+3
11800		SOJ 12,		;  12 IS LIMIT
11900	      	MOVE  	15,.COMM.+3
12000	I4:   	MOVE  	02,STF(15)	;06800	      RSTJ2=RSTFAC(K)
12100	      	MOVEM 	02,STF+=8 ;	06900	      POS=STFF(K)
12200	      	MOVE  	02,POSI(15)
12300	      	MOVEM 	02,POSI+=9   ;	07000	      R4=6
12400	      	MOVSI 	02,203600
12500	      	MOVEM 	02,.COMM.+5    ;07100	      CALL CENTX
12600	      	JSA   	16,CENTX 	;7200	C  SPACES DOTS OUT FROM BAR
12700	;07300	      CALL RDRAW(1,17.0,ALF+7OT,STF+=8,.COMM.+4,CENTR+RSTJ2,STF+=8)
12800	      	MOVE  	11,STF+=8 
12900	      	FADR  	11,.COMM.+2
13000	      	JSA   	16,RDRAW 
13100	      	JUMP [1]
13200	      	JUMP [17.0]
13300	      	JUMP DAT+=69		;EXTENDED FOR +65 TO +69 1/78
13400	      	JUMP STF+=8 
13500	      	JUMP .COMM.+4    
13600	      	JUMP  11   
13700	      	JUMP STF+=8 		;7400	C  GO GET THE DOT
13800	;				07500	      R4=8
13900	      	MOVSI 	02,204400
14000	      	MOVEM 	02,.COMM.+5    ;07600	      CALL CENTX
14100	      	JSA   	16,CENTX 
14200	;07700	3400  CALL RDRAW(1,17.0,ALF+7OT,STF+=8,.COMM.+4,CENTR+RSTJ2,STF+=8)
14300	I3400:	MOVE  	11,STF+=8 
14400	    	FADR  	11,.COMM.+2
14500	      	JSA   	16,RDRAW 
14600		JUMP [1]
14700		JUMP [17.0]
14800		JUMP DAT+=69
14900		JUMP STF+=8 
15000		JUMP .COMM.+4
15100		JUMP 11      
15200		JUMP STF+=8  
15300		CAMGE 15,12
15400		AOJA 15,I4
15500		SOS 2,ALF+6	;  JY=JY-1
15600		CAIGE 2,2	; IF(JY.LT.2)GO TO 4400
15700		JRST I4400
15800	I8400:	MOVE 3,STF+=8
15900		FSC 3,2
16000		FADR 3,ALF+=14      ; R3=RZ-RJA-4.*RSTJ2
16100	      	FSBR  	3,ALF+=18   
16200		MOVNM 3,.COMM.+4   ;	08100	      GO TO 7400
16300	      	JRST  	I7400 		;8200	C  DO I NEED ANY MORE RESETS????
16400	I4400:	MOVE  	02,ALF+=12     ;08300	4400  J4=L
16500	      	MOVEM 	02,.COMM.+=25    ;08400	      J7=RJ*DIS
16600	      	MOVE  	02,PLTR+2
16700	      	FMPR  	02,ALF+=11    
16800	      	KIFIX 0,2			;JSA   	16,IFIX  
16900						;     	JUMP 2
17000	      	MOVEM 	00,.COMM.+=28    
17100		JRST I5400       ;	08500	      GO TO 5400
17200	I400: 	MOVE  	02,.COMM.+=26    ;08600	400   IF(J5.NE.0)GO TO 9400
17300	      	JUMPN 	02,I9400 ;	08700	      K=J4/100
17400	      	MOVE  	4,.COMM.+=25    
17500	      	IDIVI 	4,144
17600	;8800	C  K IS FOR SPACING OF THIN BAR IN HEAVY-THIN ORDER
17700		FLTR 4,4	;8900	      J7=K*DIS
17800		FMPR 4,PLTR+2
17900	      	KIFIX 0,4			;JSA   	16,IFIX  
18000					;     	JUMP 4    
18100	      	MOVEM 	00,.COMM.+=28    
18200	;9000	C  J7=NUM OF STROKES -- BASED ON FINAL SIZE FACTOR (DIS)
18300	I5400:	SKIPGE 2,.COMM.+=25   ;09100	5400  L=MOD(J4,100)
18400		SETZ 2,			;	IF(J4.LT.0)J4=0
18500	 	IDIVI 2,=100		;ABOVE FOR INVIS. BARS (AT PRINT TIME)
18600	;;;	SKIPN 3      ;		09200	      IF(L.EQ.0)L=1
18700	;;;	SKIPA
18800		SKIPE 3
18900		SOJ 3,     ;		09300	      L=L+J2-1
19000		ADD 3,.COMM.+3
19100		MOVEM 3,ALF+=12
19200	;9400	C J4=401 MAKES 4X THICK BARLINE - ONE STAFF
19300	      	MOVE  	02,[3.0]   ;	09500	      RA=RTF
19400	      	MOVEM 	02,BM    
19500		MOVE 3,ALF+=12
19600		CAIG 3,7      ;		09600	      IF(L.LE.7)GO TO 2400
19700	      	JRST  	I2400 ;		09700	      L=7
19800	      	MOVEI 	3,7    ;	09800	      RA=300.
19900	      	MOVSI 	02,211454
20000	      	MOVEM 	02,BM    ; FOR EXTENDING BARS ABOVE STAFF 7
20100	I2400:	MOVE  	02,STF(3)  ;	10100	      RZ=R3Q
20200	      	MOVEM 	02,OLDTOP    ;	10000	2400  OLDTOP=RSTFAC(L)
20300	      	MOVE  	02,ALF+5   
20400	      	MOVEM 	02,ALF+=18    ;	10200	C  SAVE IT FOR DBL RPT BAR.
20500	      	MOVSI 	02,206700    ;	10300	   OLDTOP=STFF(L)+(RA+56.)*OLDTOP
20600	      	FADR  	02,BM    
20700	      	FMPR  	02,OLDTOP    
20800	      	FADR  	02,POSI(3)
20900	      	MOVEM 	02,OLDTOP    ;	10400	1400  RA=1
21000	I1400:	MOVSI 	02,201400
21100	      	MOVEM 	02,BM    ;	10500	      IF(PLT.GE.0)GO TO 140
21200	      	MOVE  	02,PLTR
21300	      	JUMPGE	02,I140    ;	10600	      J7=J7+1
21400		SKIPGE .COMM.+=25
21500		JRA 16,(16)     	  ;DON'T PRINT INVIS BARS. (USED BY 'PAGE')
21600	      	AOS   	J7    
21700	;;    	MOVSI 	02,201400    ;	10700	      RA=1./DIS
21800		MOVE 2,PLTR+3		;RA=XDIS
21900	      	MOVEM 	02,BM    ;	10800	C  BAR LINES PLOT AS DOUBLE THICKNESS
22000	
22100	I140: 	MOVE  	02,ALF+5     ;	10900	140   RJX=R3Q
22200	      	MOVEM 	02,ALF+=10   ;	11000	42    CALL LINES(R3Q,ALF+=8,3)
22300	I42:  	JSA   	16,LINES
22400	      	JUMP ALF+5   
22500	      	JUMP ALF+=8    
22600	      	JUMP [3]		;11100	      RJ=-1.
22700	      	MOVN  	02,[1.0]
22800	      	MOVEM 	02,ALF+=11    ;	11200	      RW=OLDTOP
22900	      	MOVE  	02,OLDTOP    
23000	      	MOVEM 	02,ALF+=9    ;	11300	406   CALL LINES(RJX,OLDTOP,2)
23100	I406: 	JSA   	16,LINES 
23200	      	JUMP ALF+=10   
23300	      	JUMP OLDTOP    
23400	      	JUMP [2]  ;	11400	      IF(J10.EQ.0)GO TO 411
23500	      	MOVE  	02,J10   
23600	      	JUMPE 	02,I411  ;P10 WILL THICKEN VERTICAL (OR MOSTLY VERTICAL) LINES.
23700	      	MOVEM 	02,.COMM.+=28    ;1600	      J7=J10
23800	      	SETZM 	J10        ;	11700	      J10=0
23900	;;    	MOVSI 	02,201400   ;	11800	      RA=1./DIS
24000		MOVE 2,PLTR+3		;RA=XDIS
24100	      	MOVEM 	02,BM    ;	11900	411   IF(J7.GT.0)GO TO 409
24200	I411: 	MOVE  	02,.COMM.+=28    
24300	      	JUMPG 	02,I409  
24400		SKIPG DBR     ;		12000	      IF(DBR.LE.0)RETURN
24500		JRA 16,(16)   ;		12100	      OLDTOP=RW
24600	      	MOVE  	02,ALF+=9    
24700	      	MOVEM 	02,OLDTOP    ;	12300	      RA=RZ-RD
24800	      	MOVN  	02,ALF+7    
24900	      	FADR  	02,ALF+=18    ;	12400	      IF(DBR.NE.1)RA=RJX+RD-1.
25000	      	MOVEI 	3,1
25100	      	CAMN  	3,DBR   
25200	      	JRST  	.+4   
25300	      	MOVN  	02,[1.0]
25400	      	FADR  	02,ALF+7    
25500	      	FADR  	02,ALF+=10    
25600	      	MOVEM 	02,BM    ;	12600	      R3Q=RA
25700	      	MOVEM 	02,ALF+5   ;	12500	      DBR=DBR-2
25800	      	MOVNI 	02,2
25900	      	ADDM  	02,DBR   ;	12700	      GO TO 1400
26000	      	JRST  	I1400 
26100	
26200	I409:	SKIPN .COMM.+7		;IF(R6.EQ.0)GO TO 1402) 12900	C  FOR 'HEAVY' LINE.
26300		JRST I402		;P10= NUM. OF ADDITIONAL LINES.
26400		SOS J7			; ****** ONLY GOOD FOR SLOPEOF LESS THAN 45 DEG.
26500		MOVE 2,J7		;J10=J7-1
26600		MOVEM 2,J10
26700		MOVE 2,BM		;GET SHIFT INCREMENT (DEPENDS ON FINAL SIZE)
26800		MOVE 1,ALF+=8
26900		FSBR 1,OLDTOP		;AC1 HAS AMOUNT OF Y SHIFT IN LINE
27000		MOVMS 1
27100		MOVE 0,ALF+5
27200		FSBR 0,ALF+=10		;AC0 HAS AMOUNT OF X SHIFT IN LINE
27300		MOVMS
27400		FSBR 0,1		;IF AC0-AC1 IS .GE.0 GO TO I1402
27500		JUMPGE I1402
27600		FADRM 2,ALF+5 		;MOVE RIGHT ONE SCAN LINE FOR NEXT VECTOR
27700		FADRM 2,ALF+=10		;ALF+5 AND ALF+=10 ARE THE 2 X COORDS.
27800		JRST I42
27900	I1402:	FADRM 2,ALF+=8		;MOVE UP ONE SCAN LINE FOR NEXT VECTOR
28000		FADRM 2,OLDTOP		;ALF+=8 AND OLDTOP ARE THE 2 Y COORDS.
28100		JRST I42		;GO DRAW IT
28200	
28300	I402:	MOVE  	02,BM    ;	13000	409   RJX=RJX+RA   HEAVIER BAR LINES
28400	      	FADRM 	02,ALF+=10    ;	13100	      CALL LINES(RJX,OLDTOP,2)
28500	      	JSA   	16,LINES 
28600	      	JUMP ALF+=10    
28700	      	JUMP OLDTOP    
28800	      	JUMP [2]    ;		13200	      J7=J7-1
28900	      	SOS   	J7    ;		13300	      OLDTOP=RW
29000	      	MOVE  	02,ALF+=9    
29100		SKIPGE ALF+=11   ;	13400	      IF(RJ)OLDTOP=RX
29200		MOVE 2,ALF+=8
29300		MOVEM 2,OLDTOP    ;	13500	      RJ=-RJ
29400	      	MOVNS 	00,ALF+=11    
29500		JRST I406    ;		13600	      GO TO 406
29600	;13900	C  DRAWS BAR LINES. J4>0 CAUSES FULL LINE.
29700	;				14700	C  FOR CRESC., DECRESC.
29800	I300:	MOVE 2,.COMM.+=8   ;	14800	300   IF(R7.EQ.0)R7=2.3
29900		JUMPG 2,.+7
30000		MOVE 3,[2.3]
30100		JUMPE 2,.+4
30200		CAME 2,[-1.0]
30300		JRST .+3
30400		MOVNS 3
30500		MOVEM 3,.COMM.+=8  ;	14900	      IF(R7.EQ.-1.)R7=-2.3
30600		MOVM 2,.COMM.+=8  ;	15000	      RA=ABS(R7/2.0)*RST7
30700	      	FSC   	02,777777
30800	      	FMPR  	2,ALF+3  
30900	      	MOVEM 	2,BM    ;	15100	C   AMOUNT OF SPREAD
31000	      	MOVE  	3,ALF+5   ;	15200	      RJ=R3Q
31100	      	MOVEM 	3,ALF+=11    ;	15300	      RX=RX-RST18+RD
31200	      	MOVN  	02,ALF+4 
31300	      	FADR  	02,ALF+7    
31400	      	FADRM 	02,ALF+=8    ;	15400	      IF(R8.NE.0)GO TO 302
31500	      	MOVE  	02,R8    
31600	      	JUMPN 	02,I302  ;	15500	C  JUMP TO MAKE BOX
31700	      	JSA   	16,RHORZ  ;	15600	      R6=RHORZ(R6)
31800	      	JUMP .COMM.+7
31900	      	MOVEM 	00,.COMM.+7    ;15700	      IF(R7)GO TO 301
32000	      	MOVE  	02,.COMM.+=8    
32100	      	JUMPL 	02,I301  ;	15800	      RJ=R6
32200	      	MOVEM 	0,ALF+=11    ;	15900	      R6=R3Q
32300	      	MOVEM 	3,.COMM.+7    ;301   CALL LINX(RJ,ALF+=8+RA,.COMM.+7,ALF+=8)
32400	I301: 	MOVE  	14,BM    
32500	      	FADR  	14,ALF+=8    
32600	      	JSA   	16,LINX  
32700	      	JUMP ALF+=11    
32800	      	JUMP 14
32900	      	JUMP .COMM.+7
33000	      	JUMP ALF+=8    ;	16100	      CALL LINES(RJ,ALF+=8-RA,2)
33100	      	MOVN  	14,BM    
33200	      	FADR  	14,ALF+=8    
33300	      	JSA   	16,LINES 
33400	      	JUMP ALF+=11    
33500	      	JUMP 14
33600	      	JUMP [2]   ;FOR CRESC, DECRESC:4 POS1, STF, HGT, 50, POS1, +OR-N(0=2.3,-1=-2.3)
33700		SKIPGE PLTR	;	16400	      IF(PLT.GE.0)RETURN
33800		SKIPGE .COMM.+=29
33900		JRA 16,(16)     ;  THIS MAKES ALL CRESC. DBL THICKNESS AT PRINT TIME.
34000	;				16600	      IF(J8)RETURN
34100	;				16700	      RX=RX+1./DIS
34200		MOVE 2,PLTR+3		;RX=XDIS
34300	      	FADRM 	02,ALF+=8    ;	16800	      J8=-1
34400	      	SETOM .COMM.+=29  ;	16900	C FOR DOUBLE THICKNESS
34500	;				17000	      GO TO 301
34600	      	JRST  	I301  ;		17200	302   R8=R8*RST7
34700	I302:	MOVE  	3,ALF+3  
34800	      	FMPRM 	3,.COMM.+=9    ;17300	      R9=R9*RST7
34900	      	MOVE  	3,ALF+3  
35000	      	FMPRB 	3,R9    ;	17400	      IF(R9.EQ.0)R9=R8
35100	      	JUMPN 	3,.+3   
35200	      	MOVE  	3,.COMM.+=9    
35300	      	MOVEM 	3,.COMM.+=10    ;17500	C  R9=0 MAKES SQUARE
35400	      	MOVE  	02,.COMM.+=9    ;17600	      R3=R3Q-R8/2.
35500	      	FSC   	02,777777
35600	      	FSBR  	02,ALF+5   
35700	      	MOVNM 	02,.COMM.+4    ;17700	      RX=RX-R9/2.
35800	      	FSC   	3,777777
35900	      	FSBR 	3,ALF+=8    
36000	      	MOVNM 3,ALF+=8    ;	17710	      OLDTOP=RX
36100	      	MOVNM 	3,OLDTOP      ;	      IF(R11.NE.0)OLDTOP=OLDTOP+R11*RST7
36200	      	MOVE  	02,.COMM.+=12   
36300	      	JUMPE 	02,.+3   
36400	      	FMPR  	02,ALF+3
36500	      	FADRM 	02,OLDTOP    ; R11 IS OFFSET FOR PARALLELAGRAM
36600	;				17800	      J10=J10
36700	;				17900	C  DRAWS BOX, CENTER IS IN MIDDLE
36800	;		18000	C  4,POSI+=9,STF,NT#,50,0,0,,SIZ1↑BY NT#S↑,SIZ2
36900	I1302:	MOVE  	14,.COMM.+4  ;18100 1302  CALL LINX(R3,ALF+=8,.COMM.+4+R8,OLDTOP)
37000	      	FADR  	14,.COMM.+=9    
37100	      	JSA   	16,LINX  
37200	      	JUMP .COMM.+4    
37300	      	JUMP ALF+=8    
37400	      	JUMP 14    
37500	      	JUMP OLDTOP    ;18200	      CALL LINES(R3+R8,OLDTOP+R9,2)
37600	      	MOVE  	14,.COMM.+4    
37700	      	FADR  	14,.COMM.+=9    
37800	      	MOVE  	13,OLDTOP    
37900	      	FADR  	13,.COMM.+=10    
38000	      	JSA   	16,LINES 
38100	      	JUMP 14
38200	      	JUMP 13
38300	      	JUMP [2]    ;   18300	      CALL LINES(R3,ALF+=8+R9,2)
38400	      	MOVE  	14,ALF+=8    
38500	      	FADR  	14,.COMM.+=10    
38600	      	JSA   	16,LINES 
38700	      	JUMP .COMM.+4    
38800	      	JUMP 14
38900	      	JUMP [2]   ;	18400	      CALL LINES(R3,ALF+=8,2)
39000	      	JSA   	16,LINES 
39100	      	JUMP .COMM.+4    
39200	      	JUMP ALF+=8    
39300	      	JUMP [2]
39400		SKIPN J10         ;	18500	      IF(J10.EQ.0)RETURN
39500	      	JRA 16,(16)    
39600		SOS J10          ;	18600	      J10=J10-1
39700	;				18700	      RJ=1./DIS
39800		MOVE 3,PLTR+3		;RJ=XDIS
39900	      	MOVEM 	3,ALF+=11    ;	18800	      R3=R3-RJ
40000	      	MOVN  	02,ALF+=11    
40100	      	FADRM 	02,.COMM.+4    ;18900	      R8=R8+RJ+RJ
40200	      	FADR  	3,ALF+=11    
40300	      	FADRM 	3,.COMM.+=9    ;19000	      RX=RX-RJ
40400	      	FADRM 	02,ALF+=8    ;	19010	      OLDTOP=OLDTOP-RJ
40500	      	FADRM 	02,OLDTOP    ;	19100	      R9=R9+RJ+RJ
40600	      	FADRM 	 3,.COMM.+=10    ;19200	      GO TO 1302
40700	      	JRST  	I1302   ;TO THICKEN BOXES.      ;1401  R4=2.0
40800	I1401:	MOVSI 	02,202400
40900	      	MOVEM 	02,.COMM.+5    ;19600	C FOR HEAVY BRACK.
41000		MOVE 2,ALF+3	;	19700	      RA=RST7
41100	      	MOVEM 	02,BM    
41200	      	MOVN  	02,BM       ;	19800	      RX=RX-RA
41300	      	FADRM 	02,ALF+=8    ;	19900	C  THE BOTTOM
41400	      	MOVNI 	1,1    ;	20000	      L=J4+J2-1
41500	      	ADD   	1,.COMM.+=25    
41600	      	ADD   	1,J2    
41700	      	MOVE  	3,[3.0]   ;	20100	      R6=RTF
41800		CAIG 1,7	;	20200	      IF(L.LE.7)GO TO 4401
41900	      	JRST  	I4401  
42000		MOVEI 1,7	;	20300	      L=7
42100	      	MOVSI 	3,211454  ;	20400	      R6=300.
42200	I4401:	MOVE 2,POSI(1)  ;	20500	4401  RA=STFF(L)
42300	      	MOVEM 	02,BM    ; SAVE FOR POS. OF BRACK. END ON UPPER STAFF.
42400	      	MOVE  	02,STF(1)  ;	20700	      RJY=RSTFAC(L)
42500	      	MOVEM 	02,BM+2         ;     OLDTOP=RA+R6*RJY+RJY*56.+RJY*RBX
42600	      	FADR  	3,[63.0] 
42700		FMPR 3,BM+2
42800	      	FADR  	3,BM
42900	      	MOVEM 	3,OLDTOP      ;	20900	C  THE TOP
43000	      	MOVSI 	02,204460    ;	21000	      R5=9.5
43100	      	MOVEM 	02,.COMM.+6    ;21100	      GO TO 2401
43200	      	JRST  	I2401       ;	21300	C  DASHES
43300	I401: 	MOVN  	02,ALF+4    ;	21400	401   POS=POS-RST18
43400	      	FADRM 	02,POSI+=9   ;	21600	      IF(J7.LE.0)GO TO 407
43500	      	MOVE  	02,.COMM.+=28    
43600	      	JUMPLE	02,I407  
43700		CAIN 2,4	;	21700	      IF(J7.EQ.4)GO TO 1401
43800	      	JRST  	I1401 
43900		CAIE 2,3	;	21800	      IF(J7.NE.3)GO TO 4001
44000	      	JRST  	I4001 
44100	;21900  NEXT IS FOR VARIABLE LARGE BRACKET. P7=3 P10=THICK. P5=HGT P6=P3
44200	I2401:	MOVEI 	02,3            ;	22000	2401  JA=3
44300	      	MOVEM 	02,.COMM.+1    ;22100	      IF(J10.EQ.0)J10=4
44400	      	MOVE  	02,J10   
44500	      	JUMPN 	02,.+5   
44600	      	MOVSI 	02,203600	;6.0
44700		FMPR 2,PLTR+2		;*DIS  THICKNES FOLLOWS PLOTTER SIZE
44800		FMPR 2,STF+=8		;*RSTJ2      AND STAFF SIZE
44900		KIFIX 2,2
45000	      	MOVEM 	02,J10        ;	DEFAULT VALUE FOR THICKNESS =4*SIZE FACT.
45100	      	MOVN  	02,[0.33]     ;	22300	      R4=R4-RBR
45200	      	FADRM 	02,.COMM.+5    ;22400	      J9=0
45300	      	SETZM .COMM.+=30     ;	22500	      J5=35
45400	      	MOVEI 	02,43
45500	      	MOVEM 	02,.COMM.+=26    ;22600	C  THE NUM FOR THE LITTLE END ITEMS
45600	      	MOVSI 	02,202600     ;	22800	      R6=3
45700	      	MOVEM 	02,.COMM.+7    ;22900	      R7=0
45800	      	SETZM 	.COMM.+=8;DOES LOWER ONE FIRST.  ITEM IS IN 'CLEFC.DMD' ON DAT.LCS
45900		SETZM R8		;R8 MUST BE 0 FOR CLEFS (ELSE IT ACTIVATES THICKENER)
46000	      	MOVE 	02,.COMM.+=29      ;	23100	      IF(J8.NE.2)CALL CLEFS
46100		MOVEM 2,RH		  ;SAVE J8 IN RH  (J8 WIPED OUT IN CLEFS)
46200	      	CAIE  	02,2
46300	      	JSA   	16,CLEFS ;P8=1=BOTTOM 1/2 BRACK. ONLY:  =2=TOP 1/2 ONLY:  0=COMPLETE
46400	      	MOVN  	3,[0.33]        ;23300	      R4=R5-RBR
46500	      	FADR  	3,.COMM.+6    
46600	      	MOVEM 	3,.COMM.+5    ;	23400	      R6=3
46700	      	MOVSI 	02,202600
46800	      	MOVEM 	02,.COMM.+7    ;23500	      R7=-3
46900	      	MOVNM 	02,.COMM.+=8    ;23600	C  TURNS IT UPSIDE DOWN.
47000	      	MOVEI 	02,4           ;23800	      IF(J7.NE.4)GO TO 3401
47100	      	CAME  	02,.COMM.+=28    
47200	      	JRST  	I3401         ;	23900	      POS=RA
47300	      	MOVE  	02,BM    
47400	      	MOVEM 	02,POSI+=9   ;	24000	      R4=R4*RJY/RSTJ2
47500	      	FMPR  	3,BM+2
47600	      	FDVR  	3,STF+=8 
47700	      	MOVEM 	3,.COMM.+5 ;TO ADJUST HEIGHT OF BRACK END WHEN STAVES ARE DIFF. SIZES.
47800	I3401:	MOVEI 	02,1       ;	24200	3401  IF(J8.NE.1)CALL CLEFS
47900	      	CAME  	02,RH	   ; RH IS CURRENTLY J8 (INTEGER I.E.)
48000	      	JSA   	16,CLEFS 	;24300	      R3Q=R3Q-12.0*RSTJ2
48100	      	MOVSI 	02,204600
48200	      	FMPR  	02,STF+=8 
48300	      	FSBRM 	02,ALF+5   
48400	      	MOVNS 	00,ALF+5     ;	24400	      IF(J7.NE.4)GO TO 407
48500	      	MOVEI 	02,4
48600	      	CAME  	02,.COMM.+=28    
48700	      	JRST  	I407  ;		24500	      J7=0
48800	      	SETZM 	.COMM.+=28   ;	24600	      GO TO 140
48900	      	JRST  	I140         ;	24800	4002  J5=5 
49000	I4002:	MOVEI 	02,5  		;FOR CURVY BRACKET.  P8 CAN CHANGE WIDTH.
49100	      	MOVEM 	02,.COMM.+=26    ;	25100	      J4=J4+J2-1
49200	      	MOVNI 	3,1
49300	      	ADD   	3,.COMM.+3
49400	      	ADDB 	3,.COMM.+=25 ;R7=(.3136*RSTFAC(J4)+.0056*(STFF(J4)-STFF(J2)))/RSTJ2
49500	      	MOVE  	02,[0.3136]
49600	      	FMPR  	02,STF(3)
49700	      	MOVE  	04,POSI(3)
49800	      	MOVE  	03,J2    
49900	      	FSBR  	04,POSI(3)
50000	      	FMPR  	04,[0.0056]
50100	      	FADR  	02,4
50200	      	FDVR  	02,STF+=8 
50300	      	MOVEM 	02,.COMM.+=8    
50400	;25300	 .0056=.0392/7.(THE MAGIC NUM FOR VERT SIZE OF BRACK.) .3136=8*.0392
50500	;25400	  ADD DIST BETWEEN BOTTOM OF STAVES TO HEIGHT OF TOP STAFF
50600	      	MOVE  	2,.COMM.+=9   ;	25500	      IF(R6.EQ.0)R6=1.+R7/20.
50700		SETZM .COMM.+=9		;***** USE P8 FOR WIDTH FACTOR!! *****
50800		SETZM .COMM.+=29	;J8=0
50900	      	JUMPN 	2,.+3   	;P6=P8;  P8=0
51000	      	FDVR  	02,[20.0]
51100	      	FADRI 	02,201400
51200	      	MOVEM 	02,.COMM.+7    ;25600	      JA=3
51300	      	MOVEI 	02,3
51400	      	MOVEM 	02,.COMM.+1    ;25700	      R4=2.3
51500	      	MOVE  	02,[2.3]
51600	      	MOVEM 	02,.COMM.+5 ;BECAUSE BRACK DOESN'T REALLY GO UP FROM 0 ?!?X*↑
51700	;				25900	      CALL CLEFS
51800	      	JSA   	16,CLEFS      ;	26000	      RETURN
51900	      	JRA 16,(16)    
52000	I4001:	CAIN 2,5	;	26200	4001  IF(J7.EQ.5)GO TO 4002
52100	      	JRST  	I4002 	; J7 IS IN AC2
52200	      	MOVE  	02,.COMM.+=9    ;26300	      IF(R8.LE.0)R8=.8
52300	      	JUMPG 	02,.+3   	;NO NEG. NUMBS!!!! 2/78
52400	      	MOVE  	02,[0.8]
52500	      	MOVEM 	02,.COMM.+=9    ;26400	C  P8 CAN SET SIZE OF DASH
52600	      	MOVE  	02,[5.96] ;	26402	      RZ=5.96*RSTJ2
52700	      	FMPR  	02,STF+=8 
52800	      	MOVEM 	02,ALF+=18    ;	26405	      RJ=R8*RZ
52900	      	FMPR  	02,.COMM.+=9    
53000	      	MOVEM 	02,ALF+=11     ;26410	      RZ=R9*RZ
53100	      	MOVE  	3,.COMM.+=10    
53200	      	FMPRM 	3,ALF+=18    
53300		SKIPG .COMM.+=10   ;	26420	      IF(R9.LE.0)RZ=RJ
53400	      	MOVEM 	02,ALF+=18    
53500	;26430	  P9 SETS SPACE BETWEEN DASHES. (CAN BE DIFFERENT FROM P8)
53600	;				26440	      R8=RJ
53700	      	MOVEM 	02,.COMM.+=9    ;26450	      R9=RZ
53800	      	MOVE  	02,ALF+=18    
53900	      	MOVEM 	02,.COMM.+=10    ;26500	      RD=RD+POS
54000	      	MOVE  	02,POSI+=9   
54100	      	FADRB 	02,ALF+7      ;	26600	      RJX=RD
54200	      	MOVEM 	02,ALF+=10    ;	27100	      RJY=RD
54300	      	MOVEM 	02,BM+2   
54400	;26700	 =1 =DASHES,  P6=P3=VERTICAL; P4=P5=HORIZ.; OTHERWISE SLOPE.
54500	      	JSA   	16,RHORZ ;	26800	      J6=ROFF(RHORZ(R6))
54600	      	JUMP .COMM.+7
54700	      	MOVE 4,0
54800	      	JSA   	16,ROFF  
54900	      	JUMP 4
55000	      	KIFIX 0,0	
55100	      	MOVEM 	00,.COMM.+=27    
55200		SUBM 0,.COMM.+=24  ;	26900	      J3=J6-J3
55300	;				27000	      J4=J5-J4
55400		MOVE 2,.COMM.+=6	;NOW J4=R5-R4 (J4 IS FLTING PT)
55500		FSBR 2,.COMM.+5
55600		MOVEM 2,.COMM.+=25	; CHECKS FOR TILT, USED LATER
55700		FLTR 0,.COMM.+=27	;MOVE .COMM.+=27 27200	C SAVE FOR THICK LINES
55800				;	TLC 0,232000     ;	27300	      RA=J6
55900				;	FADR 0,0
56000	      	MOVEM 	00,BM    ;	27400	C RA IS HORIZ. GOAL FOR DASHES
56100	;				27500	402   OLDTOP=POS+R5*RST7
56200	 	MOVE  	02,ALF+3  	; LABEL 402 NOT USED
56300	      	FMPR  	02,.COMM.+6    
56400	      	FADR  	02,POSI+=9   
56500	      	MOVEM 	02,OLDTOP       ;	27600	      IF(J4.EQ.0)GO TO 41
56600	      	MOVE  	3,.COMM.+=25    
56700	      	JUMPE 	3,I41       ;	27700	      RH=OLDTOP-RD
56800	;				27800	C TOTAL HEIGHT DIFF.
56900	      	MOVN  	3,.COMM.+4    ;	27900	      RX=RA-R3
57000	      	FADR  	3,BM    
57100	      	MOVEM 	3,ALF+=8      ;	28000	C TOTAL LENGTH DIFF.
57200		FSBR 2,ALF+7          ;	28100	      RH=RH/RX
57300	      	FDVR  	02,ALF+=8    
57400	      	MOVEM 	02,RH#       ;	28200	41    L=3
57500	I41:  	MOVEI 	02,3
57600	      	MOVEM 	02,ALF+=12     ;28300	      K=2
57700	      	MOVEI 	02,2
57800	      	MOVEM 	02,ALF+=13     ;28400	416   CALL LINES(R3Q,ALF+7,ALF+=12)
57900	I416: 	JSA   	16,LINES 
58000	      	JUMP ALF+5   
58100	      	JUMP ALF+7    
58200	      	JUMP ALF+=12         ;	28405	      IF(J3.EQ.0)GO TO 412
58300	      	MOVE  	02,.COMM.+=24    
58400	      	JUMPE 	02,I412  	;28407	C  JUMP FOR VERT. DASH
58500		MOVE 3,ALF+5	;(R3Q) ;28410	      IF(J3.GT.0)GO TO 422
58600	  	JUMPG 	02,I422     ;	28420	      IF(R3Q.LE.RA)GO TO 413
58700	      	CAMG  	3,BM    
58800	      	JRST  	I413      ;	28425	C THIS IF P6 IS LESS THAN P3
58900	;				28430	      R3Q=R3Q-RJ
59000	      	MOVN  	02,ALF+=11    ;	28440	      GO TO 423
59100	      	JRST  	I423       ;	28500	422   IF(R3Q.GE.RA)GO TO 413
59200	I422:	 CAML 	3,BM    
59300	      	JRST  	I413      ;	28600	C  JUMP IF ALL DONE
59400	      	MOVE  	02,ALF+=11    ;	28700	      R3Q=R3Q+RJ
59500	I423:   FADRB 	02,ALF+5        ;28710	423   IF(J4.NE.0)RD=RJY+RH*(R3Q-R3)
59600	 	MOVE  	3,.COMM.+=25    ; J4 HAS TILT(SEE I402 -)
59700	      	JUMPE 	3,.+5   
59800	      	FSBR  	02,.COMM.+4    
59900	      	FMPR  	02,RH    
60000	      	FADR  	02,BM+2   
60100	      	MOVEM 	02,ALF+7    ;28720	FINDS HEIGHT OF RIGHT SIDE OF SLOPE
60200	I414:	MOVE 2,ALF+=12    ;	28800	414   CALL EXCH(L,ALF+=13)
60300		EXCH 2,ALF+=13
60400		MOVEM 2,ALF+=12
60500		MOVE 2,ALF+=11   ;	28810	      CALL EXCH(RJ,ALF+=18)
60600		EXCH 2,ALF+=18
60700		MOVEM 2,ALF+=11    ;	28820	C  EXCH. SPACE AND DASH SIZE.
60800	      	JRST  	I416  	   ;	28900	      GO TO 416
60900	I412:	MOVE 1,ALF+7	;28950	412   IF(J4.GT.0)GO TO 424
61000		MOVE  	02,.COMM.+=25    
61100	      	JUMPG 	02,I424     ;	28960	      IF(RD.LE.OLDTOP)GO TO 413
61200	      	CAMG  	1,OLDTOP    
61300	      	JRST  	I413        ;	28970	      RD=RD-RJ
61400	      	MOVN  	02,ALF+=11    
61500	      	FADRM 	02,ALF+7    ;	28980	C  THIS IF P5 IS LESS THAN P4.
61600	      	JRST  	I414       ;	28990	      GO TO 414
61700	I424:  	CAML  	1,OLDTOP	    ;29000	424   IF(RD.GE.OLDTOP)GO TO 413
61800	      	JRST  	I413       ;	29100	C  JUMP IF DONE
61900	      	MOVE  	02,ALF+=11    ;	29200	      RD=RD+RJ
62000	      	FADRM 	02,ALF+7    ;	29300	      GO TO 414
62100	      	JRST  	I414  	    ;	29400	413   IF(J10.GT.0)GO TO 420
62200	I413: 	MOVE  	02,J10          
62300	      	JUMPG 	02,I420  
62400		SKIPN .COMM.+=32  ;	29410	      IF(J11.EQ.0)RETURN
62500	      	JRA 16,(16)    
62600		SKIPGE .COMM.+=24  ;	29415	      IF(J3)RJ=-RJ
62700	      	MOVNS 	00,ALF+=11    ;	29420	      IF(L.EQ.3)R3Q=R3Q-RJ
62800	      	MOVEI 	02,3
62900	      	CAME  	02,ALF+=12     
63000	      	JRST  	.+3   
63100	      	MOVN  	02,ALF+=11    
63200	      	FADRM 	02,ALF+5   ;	29430	      RX=R8
63300	      	MOVE  	02,.COMM.+=9    
63400	      	MOVEM 	02,ALF+=8    
63500		SKIPGE .COMM.+=32  ;	29440	      IF(J11)RX=-RX
63600	      	MOVNS 	00,ALF+=8    ;29450   CALL LINX(R3Q,ALF+7,ALF+5,ALF+7+RX)
63700	      	MOVE  	14,ALF+7    
63800	      	FADR  	14,ALF+=8    
63900	      	JSA   	16,LINX  
64000	      	JUMP ALF+5   
64100	      	JUMP ALF+7    
64200	      	JUMP ALF+5   
64300	      	JUMP 14	    ;	29460	C PUTS BRACK END ON DASHED LINE. (P11=1 OR -1)
64400	;				29470	      RETURN
64500	      	JRA 16,(16)       ;	29500	C  NEXT FOR THICK DASHES
64600	;				29600	420   J10=J10-1
64700	I420: 	SOS   	J10        ;	29650	      RJ=1./DIS
64800		MOVE 3,PLTR+3		;AC3=XDIS
64900	;;    	FDVR  	3,PLTR+2   ;	29700	      IF(J3.EQ.0)GO TO 415
65000	      	MOVE  	02,.COMM.+=24    
65100	      	JUMPE 	02,I415       ;	29800	      R3Q=R3
65200	      	MOVE  	02,.COMM.+4    
65300	      	MOVEM 	02,ALF+5      ;	29900	      RJY=RJY+RJ
65400	      	FADRB 	3,BM+2         ;29950	      RD=RJY
65500	      	MOVEM 	3,ALF+7        ;30000	      GO TO 417
65600	      	JRST  	I417         ;	30100	415   R3Q=R3Q+RJ
65700	I415: 	FADRM 	3,ALF+5       ;	30200	      RD=RJX
65800	      	MOVE  	02,ALF+=10   
65900	      	MOVEM 	02,ALF+7       ;30210	417   RJ=R8
66000	I417: 	MOVE  	02,.COMM.+=9    
66100	      	MOVEM 	02,ALF+=11    ;	30220	      RZ=R9
66200	      	MOVE  	02,.COMM.+=10    
66300	      	MOVEM 	02,ALF+=18    ;	30230	C  FOR THICK DASHES.
66400	;				30300	      GO TO 41
66500	      	JRST  	I41   	      ;	30600	407   RX=RD+POS
66600	I407: 	MOVE  	02,ALF+7    
66700	      	FADR  	02,POSI+=9   
66800	      	MOVEM 	02,ALF+=8     ;	30700	      OLDTOP=R5*RST7+POS
66900	      	MOVE  	02,ALF+3  
67000	      	FMPR  	02,.COMM.+6    
67100	      	FADR  	02,POSI+=9   
67200	      	MOVEM 	02,OLDTOP    
67300		MOVMS .COMM.+=9		;***** R8=ABS(R8) NO NEG, TOLERATED!!! 2/78
67400		MOVE 3,.COMM.+=28  ;	30800	      IF(J7.EQ.3)GO TO 140
67500		CAIN 3,3
67600	      	JRST  	I140  	      ;	30900	      CALL NOZERO(R9)
67700	      	JSA   	16,NOZERO
67800	      	JUMP .COMM.+=10
67900		CAMN 3,[-1]   ;		31000	      IF(J7.EQ.-1)GO TO 408
68000	      	JRST  	I408  
68100	;	31100	C  FOR 'TR' J7=-2, 'ARPEGG' J7=-1,  STRAIGHT LINES J7=0
68200	;	31200	CC  WHY THE IFIX????	RJX=IFIX(RHORZ(R6))
68300	      	JSA   	16,RHORZ ;	31300	      RJX=IFIX(ROFF(RHORZ(R6)))
68400	      	JUMP .COMM.+7
68500		MOVE 4,
68600	      	JSA   	16,ROFF  
68700		JUMP 4
68800		KIFIX 0,0		;MOVE 4,
68900				;     	JSA   	16,IFIX  
69000				;	JUMP 4
69100		FLTR 0,0		;TLC 0,232000
69200					;FADR 0,0
69300	      	MOVEM 	00,ALF+=10   
69400	;31400	C  ALL THIS CRAP SO IT WILL MATCH UP WITH P3 WHEN NECESSARY.
69500	      	MOVE  	02,.COMM.+=28    ;31500	      IF(J7.EQ.0)GO TO 42
69600	      	JUMPE 	3,I42   ;	31600	      OLDTOP=R9*RST7+RX
69700	      	MOVE  	02,ALF+3  
69800	      	FMPR  	02,.COMM.+=10    
69900	      	FADR  	02,ALF+=8    
70000	      	MOVEM 	02,OLDTOP    ;	31700	      CALL NOZERO(R8)
70100	    	JSA   	16,NOZERO
70200	    	JUMP .COMM.+=9  ;	31800	4041  RZ=RX
70300	I4041:	MOVE  	02,ALF+=8    
70400	      	MOVEM 	02,ALF+=18    ;	31900	      RH=OLDTOP
70500	      	MOVE  	14,OLDTOP    
70600	      	MOVEM 	14,RH    ;32000	C  SAVE FOR THICK WIGGLES
70700	      	JSA   	16,LINES ;32100	      CALL LINES(R3Q,ALF+=8,3)
70800	      	JUMP ALF+5   
70900	      	JUMP ALF+=8    
71000	      	JUMP [3]   ;		32200	C  DRAWS STRAIGHT LINES. ETC.
71100	      	MOVE  	02,ALF+5   ;	32300	      R9=R3Q
71200	      	MOVEM 	02,.COMM.+=10    ;32400	      RJ=OLDTOP
71300	      	MOVEM 	14,ALF+=11    ;	32500	      RW=3.*RSTJ2*R8
71400	      	MOVSI 	02,202600
71500	      	FMPR  	02,STF+=8 
71600	      	FMPR  	02,.COMM.+=9    
71700	      	MOVEM 	02,ALF+=9    ;	32600	      RA=RW*2.5
71800	      	MOVSI 	02,202500
71900	      	FMPR  	02,ALF+=9    
72000	      	MOVEM 	02,BM    ;	 P8=HORZ. WIGGLE SIZE;  P9=VERT. SIZE
72100	I404: 	MOVE  	02,BM    ;	32800	404   R9=R9+RA
72200	      	FADRM 	02,.COMM.+=10    ;32900	      CALL LINES(R9,ALF+=11,2)
72300	      	JSA   	16,LINES 
72400	      	JUMP .COMM.+=10
72500	      	JUMP ALF+=11    
72600	      	JUMP [2]   ;	33000	      R9=R9+RW
72700	      	MOVE  	14,ALF+=9    
72800	      	FADRB 	14,.COMM.+=10    ;33100	      CALL LINES(R9,ALF+=11,2)
72900	      	JSA   	16,LINES 
73000	      	JUMP .COMM.+=10
73100	      	JUMP ALF+=11    
73200	      	JUMP [2]
73300	I405:	MOVE ALF+=8  ;		33200	405   CALL EXCH(RX,ALF+=11)
73400		EXCH ALF+=11
73500		MOVEM ALF+=8
73600		CAMGE 14,ALF+=10  ;	33300	      IF(R9.LT.RJX)GO TO 404
73700	      	JRST  	I404  
73800		SKIPG .COMM.+=31   ;	33400	      IF(J10.LE.0)RETURN
73900	      	JRA 16,(16)    
74000		MOVE 2,PLTR+3		;OLDTOP=XDIS
74100	      	MOVEM 	02,OLDTOP    ;	33500	      RX=RZ+OLDTOP
74200	      	FADR  	02,ALF+=18
74300	      	MOVEM 	02,ALF+=8    ;	33600	      OLDTOP=RH+OLDTOP
74400	      	MOVE  	02,RH    
74500	      	FADRM 	02,OLDTOP    
74600		SOS .COMM.+=31   ;	33700	      J10=J10-1
74700	      	JRST  	I4041 ;		33800	      GO TO 4041
74800	;			33900	C  P10= + NUM OF THICKNESSES TO WIGGLE
74900	I408: 	MOVE  	02,ALF+=8    ;34100	408   IF(RX.GT.OLDTOP)CALL EXCH(RX,OLDTOP)
75000		CAMLE 2,OLDTOP
75100		EXCH 2,OLDTOP
75200		MOVEM 2,ALF+=8	;	34200	      RZ=R9*RSTJ2*5.96
75300	      	MOVE  	02,STF+=8 
75400	      	FMPR  	02,.COMM.+=10    
75500	      	FMPR  	02,[5.96]
75600	      	MOVEM 	02,ALF+=18    ;USE P9 TO SET WIGGLE WIDTH.  P8 TO SET HGT.
75700	      	JSA   	16,NOZERO ;	34400	      CALL NOZERO(R8)
75800	      	JUMP .COMM.+=9	;	34500	      RD=R8*RST7*.5
75900	    	MOVE  	02,ALF+3  
76000	    	FMPR  	02,.COMM.+=9    
76100	      	FSC   	02,777777
76200	      	MOVEM 	02,ALF+7    ;	34600	      RJ=RD
76300	      	MOVEM 	02,ALF+=11    ;	34700	      IF(RD.LT.1.)RD=1.
76400	      	MOVSI 	02,201400
76500	      	CAMLE 	02,ALF+7    
76600		MOVEM 2,ALF+7	;	34800	421   R9=RX
76700	I421: 	MOVE  	02,ALF+=8    
76800	      	MOVEM 	02,.COMM.+=10    ;34900	      RW=R3Q
76900	      	MOVE  	02,ALF+5   
77000	      	MOVEM 	02,ALF+=9    ;	35000	      RA=RZ+R3Q
77100	      	FADR  	02,ALF+=18    
77200	      	MOVEM 	02,BM    ;35100	CALL LINES(RW,.COMM.+=10,3)
77300	      	JSA   	16,LINES 
77400	      	JUMP ALF+=9
77500	      	JUMP .COMM.+=10
77600	      	JUMP [3]      ;		35200	410   R9=R9+RJ
77700	I410: 	MOVE  	02,ALF+=11    
77800	      	FADRM 	02,.COMM.+=10    ;35300	      CALL LINES(RA,.COMM.+=10,2)
77900	      	JSA   	16,LINES 
78000	      	JUMP BM    
78100	      	JUMP .COMM.+=10
78200	      	JUMP [2]	;	35400	      R9=R9+RD
78300	      	MOVE  	02,ALF+7    
78400	      	FADRM 	02,.COMM.+=10    ;35500	      CALL LINES(RA,.COMM.+=10,2)
78500	      	JSA   	16,LINES 
78600	      	JUMP BM    
78700	      	JUMP .COMM.+=10
78800	      	JUMP [2]
78900		MOVE BM		;	35600	      CALL EXCH(RA,ALF+=9)
79000		EXCH ALF+=9
79100		MOVEM BM     ;		35700	      IF(R9.LT.OLDTOP)GO TO 410
79200	      	MOVE  	02,OLDTOP    
79300	      	CAMLE 	02,.COMM.+=10    
79400	      	JRST  	I410  
79500		SKIPG .COMM.+=31    ;	35800	      IF(J10.LE.0)RETURN
79600	      	JRA 16,(16)      ;	35900	      R3Q=R3Q+1./DIS
79700		MOVE 2,PLTR+3		;XDIS
79800	      	FADRM 	02,ALF+5   
79900		SOS .COMM.+=31    ;	36000	      J10=J10-1
80000		JRST I421	;	36100	      GO TO 421
80100	      	JRA 16,(16)    ;36200	C  VERTICAL WIGGLE   P10=+ NUM OF THICKNESSES.
80200		END		;	36300	      END